//****************************************************************************//
//Below are the analysis codes used in the paper on the scalar structure of th//
//e Explicit Discrimination Scale                                             //
//****************************************************************************//

set more off

//****************************************************************************//
//Opening the dataset                                                         //
//****************************************************************************//

use "PsicomEde[EF]_ed2g.dta", clear

//****************************************************************************//
//Expanidng the dataset using survey weights                                  //
//****************************************************************************//

expand peso

//****************************************************************************//
//Identifying the analytic sample                                             //
//****************************************************************************//

mark nomiss
markout nomiss ed2g1-ed2g18
la var nomiss "analytic sample"

//****************************************************************************//
//Estimating Loevinger's H for subsets of items (non-parametric IRT analysis) //
//****************************************************************************//

loevh ed2g13 ed2g2 ed2g14 ed2g11 ed2g12 ed2g7 ed2g9 ed2g17 ed2g6 ed2g15 ed2g10 ed2g8 ed2g18 ed2g16 ed2g5 ed2g1 ed2g3 if nomiss==1

display r(loevh) 

loevh ed2g13 ed2g2 ed2g14 ed2g11 ed2g12 ed2g7 ed2g9 ed2g17 ed2g6 ed2g15 ed2g10 ed2g8 ed2g18 ed2g16 ed2g5 ed2g1 if nomiss==1

display r(loevh) 

loevh ed2g13 ed2g2 ed2g14 ed2g11 ed2g12 ed2g7 ed2g9 ed2g17 ed2g6 ed2g15 ed2g10 ed2g8 ed2g16 ed2g5 ed2g1 if nomiss==1

display r(loevh) 

loevh ed2g13 ed2g2 ed2g14 ed2g11 ed2g12 ed2g7 ed2g9 ed2g17 ed2g6 ed2g15 ed2g10 ed2g8 ed2g16 ed2g5 if nomiss==1

display r(loevh) 

loevh ed2g13 ed2g2 ed2g14 ed2g11 ed2g7 ed2g9 ed2g17 ed2g6 ed2g15 ed2g10 ed2g8 ed2g16 ed2g5 if nomiss==1

display r(loevh) 

loevh ed2g13 ed2g2 ed2g14 ed2g11 ed2g7 ed2g9 ed2g17 ed2g6 ed2g15 ed2g10 ed2g16 ed2g5 if nomiss==1

display r(loevh) 

loevh ed2g13 ed2g2 ed2g14 ed2g11 ed2g7 ed2g9 ed2g17 ed2g6 ed2g15 ed2g10 ed2g16 if nomiss==1

display r(loevh) 

loevh ed2g13 ed2g2 ed2g14 ed2g11 ed2g7 ed2g9 ed2g17 ed2g6 ed2g15 ed2g16 if nomiss==1

display r(loevh) 

loevh ed2g13 ed2g2 ed2g14 ed2g11 ed2g7 ed2g9 ed2g6 ed2g15 ed2g16 if nomiss==1

display r(loevh) 

loevh ed2g13 ed2g2 ed2g14 ed2g7 ed2g9 ed2g6 ed2g15 ed2g16 if nomiss==1

display r(loevh) 

loevh ed2g13 ed2g2 ed2g14 ed2g7 ed2g9 ed2g6 ed2g16 if nomiss==1

display r(loevh) 

//****************************************************************************//
//Drawing item characteristic curves (parametric IRT analysis)                //
//****************************************************************************//

qui svy: irt 2pl ed2g2 ed2g6 ed2g7 ed2g9 ed2g13 ed2g14 ed2g15 ed2g16
estat report, byparm sort(b)

irtgraph icc ed2g2 ed2g6 ed2g7 ed2g9 ed2g13 ed2g14 ed2g15 ed2g16, blocation range(-2 4) xlab(-1.5(0.5)3.5) ylab(0(0.25)1) yline(0.25 0.5 0.75, lcolor(gs14)) title("A - Item Characteristic Curves (8 items)")legend(off) name(iccEF8i, replace) scheme(s1color)

qui svy: irt 2pl ed2g2 ed2g6 ed2g7 ed2g9 ed2g13 ed2g14 ed2g16
estat report, byparm sort(b)

irtgraph icc ed2g2 ed2g6 ed2g7 ed2g9 ed2g13 ed2g14 ed2g16, blocation range(-2 4) xlab(-1.5(0.5)3.5) ylab(0(0.25)1) yline(0.25 0.5 0.75, lcolor(gs14)) title("A - Item Characteristic Curves (7 items)")legend(off) name(iccEF7i, replace) scheme(s1color)

//****************************************************************************//
//Drawing Test Information Fuction (parametric IRT analysis)                  //
//****************************************************************************//

qui svy: irt 2pl ed2g2 ed2g6 ed2g7 ed2g9 ed2g13 ed2g14 ed2g15 ed2g16
estat report, byparm sort(b)

irtgraph tif, range(-2 6) legend(off) title("B - Test Information Function (8 items)") se name(tifEF8i, replace) scheme(s1color)

qui svy: irt 2pl ed2g2 ed2g6 ed2g7 ed2g9 ed2g13 ed2g14 ed2g16
estat report, byparm sort(b)

irtgraph tif, range(-2 6) legend(off) title("B - Test Information Function (7 items)") se name(tifEF7i, replace) scheme(s1color)
